It is desirable when a certain operation is to be performed on a computer to require user confirmation for such operation before initiation thereof. By way of example and not limitation, such operations include, for example, operations that are potentially damaging or result in irreversible changes to the computer, such as a low-level disk formatting of the computer's hard drive; restoring the computer to a previous, known state; reinstallation of the operating system of the computer; or performing emergency repair operations on the computer. Additional operations, for example, are set forth and discussed in the “Exemplary Commercial Utilizations” section below.
By confirming an intention of a user to perform an operation on the computer, the operation is “protected” from accidentally being performed. User confirmation is determined by: (1) communicating by the computer a warning to the user through a user-output device associated with the computer; and (2) in response thereto, communicating by the user a signal to the computer through a traditional user-input device associated with the computer. A user-output device includes, for example, a video display monitor, a light, or a speaker and the like. A traditional user-input device includes, for example, a keyboard, a touch screen, a mouse, or a microphone and the like.
Unfortunately, there are circumstances in which a user's intention to perform an operation cannot be confirmed beforehand and, thus, the operation is unprotected from accidental performance. For example, a user's intention to perform an operation cannot be confirmed when there are no traditional user-input and/or user-output devices. A user's intention to perform an operation also cannot be confirmed when user-input and/or user-output devices associated with a computer malfunction or otherwise are disabled. A user's intention to perform an operation also cannot be confirmed when the operation itself must be successfully performed on the computer before the associated user-input and/or user-output devices may even be initialized. Under these circumstances, allowing an operation to be performed on the computer without user confirmation is undesirable but, nevertheless, necessary.
The disadvantages of not being able to confirm a user's intentions to perform an operation are particularly apparent when an operation is to be performed on a “headless server” using a “bootstrap program.” In this regard, a “headless server” is a computer that has neither monitor, keyboard, nor mouse and that functions as a server in a computer network. Headless servers are found in common computer networks. A bootstrap program is a program that automatically executes upon booting of a computer.
When an operation is to be performed on a headless server using a bootstrap program, the headless server is booted from auto-running bootstrap media, such as a floppy disk or CD having the bootstrap program, by placing the floppy disk or CD in a drive of the headless server and rebooting it. Using such auto-running bootstrap media, a headless server can be initialized with a base operating system (“O/S”) or otherwise restored to an operational condition. Once running, the server then can be configured, for example, by way of a network connected terminal. The headless server then might run unattended for months or years. Unfortunately, if the bootstrap media is inadvertently left in the drive of the headless server (which frequently happens), then, upon reboot months or years later, the operation performed by the auto-running bootstrap program on the headless server automatically restarts contrary to the actual intention of the user. Such an accidental restarting of the bootstrap program (which does not seek to confirm a user's intention to perform again the operation) often indicates deletion of or damage to data and security information on the headless server.
A solution to the “forgotten media” problem is to require a reboot after execution of the operation in order for the headless server to resume normal operations. Leaving the bootstrap media in the drive then will place the computer in an endless loop of repeatedly rebooting and running the protected program until the bootstrap media is removed or otherwise disabled. While certainly not as costly as destroying months or years of data, the requirement of a reboot nonetheless proves wasteful and frustrating when the bootstrap media is inadvertently left in the drive.
In view of the foregoing, a need exists for a system and method for confirming a user's intention to perform a computer operation when there are no traditional user-input and/or user-output devices connected to a computer. A need further exists for a system and method for confirming a user's intention to perform a computer operation when user-input and/or user-output devices associated with a computer malfunction, and/or when user-input and/or user-output devices associated with a computer are disabled. A need also exists for a system and method for confirming a user's intention to perform a computer operation when the operation itself must be successfully performed on a computer before the associated user-input and/or user-output devices may even be initialized.
Additionally, a particular need exists for a system and method for confirming a user's intention to perform an operation on a headless computer, especially one that functions as a server in a computer network.
One or more of these needs are met by one or more embodiments of the present invention.